1. Field of the Invention
The present invention relates to a computer system and method for managing file version, application of which is based on Japanese Patent Application No. 2004-324889, which is incorporated herein by reference.
2. Description of Related Art
When a file such as a program file, a document file, a drawing file or such is continuously edited, if an editor such as a developer manages updated history, works, which should be done by the editor, are unduly increased. For this reason, means have been suggested where works, in which contents of file updating are managed as an update history, and a history at a voluntary time is loaded, are executed by a computer.
For example, CVS (Concurrent Versions System) is software for managing file versions. A single computer (CVS server) on which the CVS program is running, is preparing a storage area so called repository at which files sent from a plurality of users are stored.
A user issues a command inherent to CVS to the CVS server in order to load a file from the repository or store a file onto the repository. When the user requests a file update to the CVS server, the CVS server stores a difference in a past file as a history to the repository without erasing the past file. Upon issuing a request to the CVS server, the user can always load a file stored into the repository as a history.
However, in order to realize the version management through CVS, the user must learn how to use CVS and must issue a command inherent to CVS to instruct the storage of history to the computer. Consequently, cost should be required for learning commands inherent to CVS. For this reason, a technique has been suggested, which shows a user no command inherent to CVS and allows the user for indirectly operating CVS from an interface familiar with the user.
As one example of indirect operation of CVS, Nanjing, China discloses a technique having CVS taken in an operating system (Nanjing, China: “An Adaptive Version-Controlled File System”, Proceedings of The Forth International Symposium on Future Software Technology (ISFST'99), pp. 36-41, Oct. 27-29, 1999, disclosure of which is incorporated herein by reference). According to this technique, a computer having a request for file operation received from a user performs the file operation as well as performs demand for issuing version management. By the virtue of such a version management a user can keep a file history only by storing the file. This ensures the user for keeping the file history without any user's load.
As another example of indirect operation of CVS, U.S. Pat. No. 6,289,356 discloses a file system technique in which when a user updates a file, the original file data is not overwritten but a new file data is always written on another storage area, the disclosure of which is incorporated herein by reference. According to this technique, all of the reference information managed by the computer are periodically stored as a history. The file system stores the file data and reference information to the file on storage media. As long as the reference information to the file exists, the file system does not delete the file data for which the reference information is referred and, thus, storage of all reference information, the file data can be kept.
Such a file system can ensure the user for keeping the file history without consciously keeping the file history. Also, the computer only copies the reference data to the file, whereby an amount of copying data can be reduced in comparison with copying the file itself, making it possible to rapidly store the history.
However, the conventional management techniques of the updated history are not suitable for applications in which a plurality of users are cooperated to perform works of edition in the case where a group of files having consistent meaning are edited by a plurality of users, such as a case where a plurality of software developers develop one software and a case where a large size of drawing are designed by a plurality of designers.
For example, considering the following case. Developer A updates Program C under developing to a repository. In this case, Developer A does not wish to show other developers Program C, which has not yet been tested enough.
However, other developer B can load Program C by a usual repository access command. As a result, if Program C contains bags, Developer B consumes a time by these bags. The time consumption should be originally avoided if the intention of Developer A that does not show Program C is reflected on the repository.
A mechanism can be considered that adds the contents of update as a comment when the user updates the file, whereby the user, who has updated the file can notify other users the contents of updating the file. In the case where a plurality of users edit a file, which requires to have a consistent meaning, such as a program composed of a plurality of files, a user can modifies a file, which is edited by this user, in order to maintain the consistence with other files based upon the comment of updating the file.
However, the communication of the intention by means of comments is merely a text read by a person, and there is a possibility that the comment is composed of difficult-to understand or that the comment is not read due to carelessness of a reader. Consequently, there is a problem that contents of updating a file by a given developer is not notified to other developer and, thus, sufficient cooperation cannot be made among developers.
A main object of the present invention is, therefore, to provide means for managing updated history, which can make a communication of intension amongst users in an effective manner.